
'''
频率限制：
1、继承SimpleRateThrottle
2、scope属性
3、重写 get_cache_key方法
4、需要什么就返回什么
'''


from rest_framework.throttling import SimpleRateThrottle

class SmsThrottling(SimpleRateThrottle):
    scope = 'sms'  #这个要在 settings 配置
    def get_cache_key(self, request, view):
        telephone = request.query_params.get('telephone')
        # cache_format = 'throttle_%(scope)s_%(ident)s' #返回格式
        return self.cache_format%{'scope':self.scope, 'ident':telephone}

